<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <link href="../style.css" rel="stylesheet" type="text/css">
    <link rel="icon" href="../images/PETSc_RGB-logo.png" type="image/png" sizes="16x16">
    <title>PETSc: Features: Component Details</title>
  </head>
  <body>

    <div id="logo">
      <h1>PETSc</h1>
    </div>

    <div id="header">
      <h1>Features: Component Details</h1>
    </div>

    <hr>

    <div id="sidebar">
      <ul>
        <li><a href="../index.html">Home</a></li>
        <li><a href="../download/index.html">Download</a></li>
        <li>
          <a href="../features/index.html">Features</a>
          <ul>
            <li><span class="current">Component Details</span></li>
            <li><a href="diagram.html">Diagram</a></li>
            <li><a href="gpus.html">GPUs</a></li>
          </ul>
        </li>
        <li><a href="../documentation/index.html">Documentation</a></li>
        <li><a href="../publications/index.html">Applications/Publications</a></li>
        <li><a href="../miscellaneous/index.html">Miscellaneous</a></li>
        <li><a href="../miscellaneous/external.html">External Software</a></li>
        <li><a href="https://docs.petsc.org/en/latest/developers/index.html">Developers Site</a></li>
      </ul>
    </div>

    <div id="main">

      PETSc components provide the functionality required for many parallel solutions of PDEs.
      <dl>
        <dt><tt>Vec</tt></dt>
        <dd>
        Provides the vector operations required for setting up and
        solving large-scale linear and nonlinear problems.  Includes easy-to-use
        parallel scatter and gather operations, as well as special-purpose code
        for handling ghost points for regular data structures.
        </dd>

        <dt><tt>Mat</tt></dt>
        <dd>
        A large suite of data structures and code for the manipulation of
        parallel sparse matrices. Includes four different parallel matrix
        data structures, each appropriate for a different class of problems.
        </dd>

        <dt><tt>PC</tt></dt>
        <dd>
        A collection of sequential and parallel preconditioners,
        including (sequential) ILU(k), LU, and (both sequential and parallel)
        block Jacobi, overlapping additive Schwarz methods and structured MG.
        </dd>

        <dt><tt>KSP</tt></dt>
        <dd>
        Parallel implementations of many popular Krylov subspace
        iterative methods, including GMRES, CG, CGS, Bi-CG-Stab, two variants
        of TFQMR, CR, and LSQR. All are coded so that they are immediately
        usable with any preconditioners and any matrix data structures,
        including matrix-free methods.
        </dd>

        <dt><tt>SNES</tt></dt>
        <dd>
        Data-structure-neutral implementations of Newton-like
        methods for nonlinear systems. Includes both line search and trust
        region techniques with a single interface. Employs by default the above
        data structures and linear solvers. Users can set custom monitoring
        routines, convergence criteria, etc.
        </dd>

        <dt><tt>TS</tt></dt>
        <dd>
        Code for the time evolution of solutions of PDEs. In
        addition, provides pseudo-transient continuation techniques for
        computing steady-state solutions.
        </dd>
      </dl>

    </div>

    <hr>
  </body>
</html>
